--[[
描述 ： 多媒体 文件 
作者 ： 付大志
修改 ： xxs - android
时间 ： 14/12/01
]]

 
--[[
描述 ： MediaCapture   类
]]
MLMediaCapture = Class('MLMediaCapture');
MLMediaCapture.mInstance = nil    ;--= MLPlugin.getStaticPluginInst('com.MLink.plugins.MLMedia.MYMediaCapture'); 
MLMediaCapture.mTakePhotoFun = nil;
MLMediaCapture.resultCode_takePhoto=1;
MLMediaCapture.resultCode_takePhotoAlbum=2;
MLMediaCapture.resultCode_takeVideo=3;
MLMediaCapture.mTakeVideoFun = nil;
MLMediaCapture.mTakePhotoFun = nil;
MLMediaCapture.mTakePhotoAlbumFun = nil;

--[[
功能：     拍照
参数：     onPhotoFinish   拍照完成 监听函数，无返回参数
参数：    (number) quality    图片质量0-100 数越小图片越模糊，字节数也越小。
注解：     onPhotoFinish(path); string path 图片路径 
用法:     MLMediaCapture:takePhoto(function(path)
         end
返回：     无
]]
function MLMediaCapture.takePhoto(quality,onPhotoFinish)

    if not quality  then  print('Warning:  MLMediaCapture.takePhoto(),argument 1 is nil! ') return end
    if type(quality) ~= 'number'  then print('Warning:  MLMediaCapture.takePhoto(),argument 1,type is not number!') return end
   
  
	--MLMediaCapture.mTakePhotoFun = onPhotoFinish;  
	--MLMediaCapture.mInstance:takePhoto(quality or 50,MLNative.MLContext); 
end
--[[
功能：     相册取图片
参数：     onPhotoAlbumFinishFun   相册取图片完成后 监听函数，无返回参数
参数：     (number) quality    图片质量0-100 数越小图片越模糊，字节数也越小。
注解：     onPhotoAlbumFinishFun(path); string path 图片路径
用法:     MLNative.takePhotoAlbum(function(path)
            end

返回:      无
]]
function MLMediaCapture.takePhotoAlbum(quality,onPhotoAlbumFinish)
     if not quality  then  print('Warning:  MLMediaCapture.takePhotoAlbum(),argument 1 is nil! ') return end
    if type(quality) ~= 'number'  then print('Warning:  MLMediaCapture.takePhotoAlbum(),argument 1,type is not number!') return end
   
   
	--MLMediaCapture.mTakePhotoAlbumFun = onPhotoAlbumFinish;  
	--MLMediaCapture.mInstance:takePhotoAlbum(quality or 50,MLNative.MLContext);
end

--[[
功能   ： 录像
参数   ： 无
返回   ： 无
]]
function MLMediaCapture.takeVideo(onTakeVideoFinish)  
	--MLMediaCapture.mTakeVideoFun= onTakeVideoFinish; 
	--MLMediaCapture.mInstance:takeVideo(MLNative.MLContext);
end

function MLMediaCapture:onCallBack(resultCode,arg)
	print('MLMediaCapture:onCallBack',resultCode);

    if resultCode == MLMediaCapture.resultCode_takePhoto  then 
    		if MLMediaCapture.mTakePhotoFun ~= nil then 
			MLMediaCapture.mTakePhotoFun(arg[1]); 
			MLMediaCapture.mTakePhotoFun=nil;
	end
    elseif  resultCode == MLMediaCapture.resultCode_takePhotoAlbum then
       if MLMediaCapture.mTakePhotoAlbumFun ~= nil then 
		  MLMediaCapture.mTakePhotoAlbumFun(arg[1]); 
		  MLMediaCapture.mTakePhotoAlbumFun = nil;
	   end
	 elseif  resultCode == MLMediaCapture.resultCode_takeVideo then 
	    if MLMediaCapture.mTakeVideoFun ~= nil then  
		   MLMediaCapture.mTakeVideoFun(arg[1]);  
		   MLMediaCapture.mTakeVideoFun =nil;
	    end 
    end
end
